import time


def _clean_filename(filename):
    """清理文件名中的特殊字符，将特殊符号、emoji、标点全部改为_，去除空格"""
    import re
    import time

    # 如果原始标题为空，使用默认名称
    if not filename or not filename.strip():
        return f"screenshot_{int(time.time())}"

    # 提取关键信息，去掉开头的类型标识(笔记,视频等)
    if filename.startswith(('笔记,', '视频,')):
        filename = filename[3:]  # 去掉"笔记,"或"视频,"

    # 先去除所有空格
    filename = re.sub(r'\s+', '', filename)

    # 特殊处理标签，将 #标签 中的 # 替换为 T_ 前缀表示标签
    # 例如: #网球穿搭 -> T_网球穿搭
    filename = re.sub(r'#([\u4e00-\u9fa5a-zA-Z0-9_]+)', r'T\1', filename)

    # 将所有非中文、英文字母、数字的字符替换为下划线
    cleaned = re.sub(r'[^\u4e00-\u9fa5a-zA-Z0-9]', '_', filename)

    # 替换多个连续下划线为单个下划线
    cleaned = re.sub(r'_+', '_', cleaned)

    # 去除首尾下划线
    cleaned = cleaned.strip('_')

    # 限制长度到50个字符
    if len(cleaned) > 80:
        cleaned = cleaned[:80].rstrip('_')  # 防止截断后以_结尾

    # 如果清理后为空，返回默认名称
    return cleaned




if __name__ == '__main__':
    title = '视频,听我一句劝！运动女孩的夏天，不能没有这条“白月光”短裙！#网球穿搭 #运动穿搭 ,来自CZXH搭配灵感,0赞，6阅读'
    print(_clean_filename(title))